package ar.edu.utn.frsf.tpae.a2014.g02.persistence.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name = "his")
public class HistorialPedido {

	@Id
	@Column(name = "his_id")
	@SequenceGenerator(name = "SecuenciaHistorial", sequenceName = "seq_his", allocationSize = 1)
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SecuenciaHistorial")
	private Integer id;

	@Column(name = "his_est")
	@Enumerated(EnumType.STRING)
	private EstadoPedido estado;

	@Column(name = "his_fch")
	private Date fechaHoraCambioEstado;

	@Column(name = "his_fch_reg")
	private Date fechaHoraRegistroCambio;

	@Column(name = "his_cmt")
	private String comentarios;

	@ManyToOne
	@JoinColumn(name = "his_ped_id")
	private Pedido pedido;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public EstadoPedido getEstado() {
		return estado;
	}

	public void setEstado(EstadoPedido estado) {
		this.estado = estado;
	}

	public String getComentarios() {
		return comentarios;
	}

	public void setComentarios(String comentarios) {
		this.comentarios = comentarios;
	}

	public Pedido getPedido() {
		return pedido;
	}

	public void setPedido(Pedido pedido) {
		this.pedido = pedido;
	}

	public Date getFechaHoraCambioEstado() {
		return fechaHoraCambioEstado;
	}

	public void setFechaHoraCambioEstado(Date fechaHoraCambioEstado) {
		this.fechaHoraCambioEstado = fechaHoraCambioEstado;
	}

	public Date getFechaHoraRegistroCambio() {
		return fechaHoraRegistroCambio;
	}

	public void setFechaHoraRegistroCambio(Date fechaHoraRegistroCambio) {
		this.fechaHoraRegistroCambio = fechaHoraRegistroCambio;
	}
}
